From 63e23a29e08a48a5540b3c8444865b810df41f0f Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Wed, 10 Aug 2016 21:04:43 -0400 Subject: [PATCH] livepatch: Deal with payloads without any .text It is possible. Especially if the only thing they do is NOP functions - in which case there is only .livepatch.funcs sections. Reviewed-by: Jan Beulich Reviewed-by: Ross Lagerwall Signed-off-by: Konrad Rzeszutek Wilk --- xen/common/livepatch.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c index 5da28a36f3..c9dd51a6ea 100644 --- a/xen/common/livepatch.c +++ b/xen/common/livepatch.c @@ -386,16 +386,17 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf) static int secure_payload(struct payload *payload, struct livepatch_elf *elf) { - int rc; + int rc = 0; unsigned int text_pages, rw_pages, ro_pages; text_pages = PFN_UP(payload->text_size); - ASSERT(text_pages); - - rc = arch_livepatch_secure(payload->text_addr, text_pages, LIVEPATCH_VA_RX); - if ( rc ) - return rc; + if ( text_pages ) + { + rc = arch_livepatch_secure(payload->text_addr, text_pages, LIVEPATCH_VA_RX); + if ( rc ) + return rc; + } rw_pages = PFN_UP(payload->rw_size); if ( rw_pages ) { -- 2.30.2